Pyrat - HackMyVM - Level: Medium - Bericht

Medium

Verwendete Tools

arp-scan
vi
nmap

Inhaltsverzeichnis

Hinweis: Der bereitgestellte Textlog für diesen Bericht ist sehr kurz und deckt hauptsächlich die Reconnaissance-Phase ab. Die Abschnitte Enumeration, Initial Access, POC und Privilege Escalation enthalten daher keine detaillierten Schritte aus dem Log.

Reconnaissance

┌──(root㉿cyber)-[~] └─# arp-scan -l
192.168.2.111	08:00:27:ab:0b:90	PCS Systemtechnik GmbH

Analyse: Der Befehl `arp-scan -l` wird zur Erkennung aktiver Hosts im lokalen Netzwerksegment verwendet. Es wird ein Host mit der IP-Adresse 192.168.2.111 und der MAC-Adresse 08:00:27:ab:0b:90 (zugeordnet zu PCS Systemtechnik GmbH / Oracle VirtualBox) identifiziert.

Bewertung: Das Zielsystem "Pyrat" wurde erfolgreich im Netzwerk lokalisiert. Die IP 192.168.2.111 ist der Ausgangspunkt für weitere Scans.

Empfehlung (Pentester): Notieren Sie die Ziel-IP. Führen Sie als Nächstes Port-Scans (z.B. mit `nmap`) durch, um offene Dienste zu entdecken.
Empfehlung (Admin): Netzwerksegmentierung kann die Sichtbarkeit von Hosts einschränken. Überwachen Sie ARP-Aktivitäten.

┌──(root㉿cyber)-[~] └─# vi /etc/hosts
[Inhalt /etc/hosts nach Bearbeitung]
127.0.0.1	localhost
192.168.2.111   pyrat.hmv

Analyse: Die lokale Hosts-Datei des Angreifer-Systems wird bearbeitet, um den Hostnamen `pyrat.hmv` der gefundenen IP-Adresse 192.168.2.111 zuzuordnen.

Bewertung: Standardmäßiger Schritt, um das Zielsystem über seinen Hostnamen ansprechen zu können, was für nachfolgende Scans und Interaktionen nützlich ist.

Empfehlung (Pentester): Sicherstellen, dass die Zuordnung korrekt ist.
Empfehlung (Admin): Keine direkte Aktion erforderlich.

┌──(root㉿cyber)-[~] └─# nmap -sS -sV -A -T5 192.168.2.111 -p- | grep open
22/tcp   open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
8000/tcp open  http-alt SimpleHTTP/0.6 Python/3.11.2
┌──(root㉿cyber)-[~] └─# nmap -sS -sV -A -T5 192.168.2.111 -p-
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-29 22:25 CEST
Nmap scan report for pyrat.hmv (192.168.2.111)
Host is up (0.00021s latency).
Not shown: 65533 closed tcp ports (reset)
PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   3072 44:5f:26:67:4b:4a:91:9b:59:7a:95:59:c8:4c:2e:04 (RSA)
|   256 0a:4b:b9:b1:77:d2:48:79:fc:2f:8a:3d:64:3a:ad:94 (ECDSA)
|_  256 d3:3b:97:ea:54:bc:41:4d:03:39:f6:8f:ad:b6:a0:fb (ED25519)
8000/tcp open  http-alt SimpleHTTP/0.6 Python/3.11.2
|_http-title: Site doesn't have a title (text/html; charset=utf-8).
|_http-open-proxy: Proxy might be redirecting requests
| fingerprint-strings: <-- Diverse Fehlermeldungen bei Fingerprint-Versuchen
[...]
|_http-server-header: SimpleHTTP/0.6 Python/3.11.2
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint
at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port8000-TCP:V=7.94SVN%I=7%D=4/29%Time=66300240%P=x86_64-pc-linux-gnu
MAC Address: 08:00:27:AB:0B:90 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.8
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.21 ms pyrat.hmv (192.168.2.111)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in XX.XX seconds

Analyse: Ein umfassender Nmap-Scan (`-p-` für alle Ports, `-sS` SYN-Scan, `-sV` Versionserkennung, `-A` Aggressiver Scan mit OS-Erkennung, Skripten etc.) wird auf das Ziel 192.168.2.111 durchgeführt. Es werden zwei offene TCP-Ports gefunden:

Die OS-Erkennung deutet auf einen Linux-Kernel (4.X/5.X) hin.

Bewertung: Der primäre und ungewöhnlichste Angriffsvektor ist der Python SimpleHTTPServer auf Port 8000. Solche Server sind oft für Entwicklungszwecke gedacht und können Schwachstellen aufweisen oder unbeabsichtigt Dateien preisgeben, wenn sie falsch konfiguriert oder gestartet werden. Die Fingerprint-Fehler deuten darauf hin, dass der Server möglicherweise nicht standardmäßig auf Anfragen reagiert oder benutzerdefinierten Code ausführt. SSH auf Port 22 ist ein sekundäres Ziel.

Empfehlung (Pentester): Untersuchen Sie den Dienst auf Port 8000 intensiv. Versuchen Sie, die Webseite mit `curl` oder einem Browser abzurufen (`http://pyrat.hmv:8000/`). Führen Sie Directory Busting durch (`gobuster dir -u http://pyrat.hmv:8000`). Analysieren Sie die Antworten des Servers genau, insbesondere Fehlermeldungen. Prüfen Sie auf bekannte Schwachstellen in SimpleHTTPServer oder der spezifischen Python-Version.
Empfehlung (Admin): Überprüfen Sie, warum ein Python SimpleHTTPServer auf Port 8000 läuft. Wenn er nicht für den Produktionsbetrieb vorgesehen ist, sollte er deaktiviert werden. Wenn er benötigt wird, stellen Sie sicher, dass er sicher konfiguriert ist, keine sensiblen Dateien preisgibt und idealerweise durch einen robusteren Webserver (wie Nginx oder Apache mit entsprechender Konfiguration) ersetzt oder geproxyt wird.

Enumeration

**Hinweis:** Der bereitgestellte Textlog enthält keine weiteren Enumerationsschritte (wie Directory Busting, VHost-Scans, Service-spezifische Enumeration) nach dem initialen Nmap-Scan.

Initial Access

**Hinweis:** Der bereitgestellte Textlog enthält keine Informationen oder Schritte zum Erhalt des initialen Zugriffs auf das System.

Proof of Concept

**Hinweis:** Mangels dokumentierter Schritte für Initial Access oder Privilege Escalation im bereitgestellten Log kann kein spezifischer Proof of Concept erstellt werden.

Privilege Escalation

**Hinweis:** Der bereitgestellte Textlog enthält keine Informationen oder Schritte zur Privilege Escalation.

Flags

Hinweis: Die folgenden Flags wurden am Ende des bereitgestellten Textes gefunden, jedoch ohne die zugehörigen Befehle zu ihrer Extraktion.

cat user.txt
996bdb1f619a68361417cabca5454705
cat root.txt
ba5ed03e9e74bb98054438480165e221

Hinweis zur Maschine

Analyse des Hinweises:** Am Ende des ursprünglichen Textes stand folgender Hinweis: "Try a more basic connection! http://pyrat.hmv:8000/ Die Maschine hat andauernde Verbindungsprobleme!!!!"

Bewertung:** Dieser Hinweis, der vermutlich vom Ersteller der Maschine stammt, legt nahe, dass die Interaktion mit dem Dienst auf Port 8000 möglicherweise instabil ist ("Verbindungsprobleme") und dass einfache, grundlegende HTTP-Anfragen (`curl`, eventuell ohne komplexe Header) am ehesten zum Erfolg führen könnten. Die Instabilität könnte beabsichtigt sein, um die Enumeration zu erschweren, oder auf einen Fehler in der Konfiguration des Servers hindeuten.

Empfehlung (Pentester):** Gehen Sie bei der Interaktion mit Port 8000 geduldig vor. Verwenden Sie einfache `curl`-Befehle. Wiederholen Sie Anfragen bei Fehlern. Analysieren Sie Timeouts oder unerwartete Verbindungsabbrüche genau, da sie möglicherweise durch bestimmte Eingaben ausgelöst werden.
Empfehlung (Admin):** Untersuchen Sie die Ursache der gemeldeten Verbindungsprobleme des Dienstes auf Port 8000 und beheben Sie diese, oder deaktivieren Sie den Dienst, wenn er nicht benötigt wird.